CustomerInstanceOpsDashboard
CustomerInstanceOpsDashboard is the dashboard surface for checking whether a
customer runtime is actually isolated, correctly bound, billable, and healthy.
It lives at:
web/typescript/valkyr_labs_com/src/components/CustomerInstanceOps/CustomerInstanceOpsDashboard.tsx
Component Contract
The component receives a CustomerInstanceOpsSnapshot from:
web/typescript/valkyr_labs_com/src/services/customerInstanceOps.ts
That service keeps the runtime view source-backed by platform APIs:
GET /v1/runtime/isolation
POST /v1/thorapi/host-instances
GET /v1/memoryentry/stats
GET /v1/graymatter/stats
GET /v1/contentdata/stats
GET /v1/contentmedialink/stats
GET /v1/principal/stats
GET /v1/content-media-links/audit
GET /v1/credits/me/balance/summary
/v1/runtime/isolation is the authority for customer runtime isolation. The
dashboard does not infer tenant safety from deployment labels alone.
UX Behavior
- Shows the active customer schema or tenant schema reported by runtime isolation metadata.
- Shows whether the runtime is isolated or still using a shared/platform connection.
- Shows database scope, application data-plane mode, application database name, application database host, runtime auth mode, runtime RBAC mode, deployment target, and deployment stage.
- Warns when a managed
app_databaseruntime reports a database name that does not match the server-derivedappdb_<organization_uuid_without_dashes>_<application_id_prefix>contract. - Shows live JDBC catalog/schema alignment so app-database and tenant-schema mismatches are visible to operators.
- Shows whether a managed credential reference is configured without exposing the credential reference value.
- Shows the database privilege probe result, including whether forbidden platform or sibling tables are readable.
- Shows customer credit health and hosted runtime endpoint/status.
- Shows GrayMatter and RBAC entity counts for quick readiness triage.
Security Boundary
The dashboard is observational. It does not expose schema switching controls, database credential references, direct tenant table reads, generated DataWorkbook access to tenant isolation registry models, or raw runtime secrets.
Backend services remain responsible for:
- resolving tenant schema and application data-plane binding metadata
- deciding whether paid runtime isolation is ready
- checking JDBC catalog/schema alignment
- running the database privilege probe
- hiding credential references and other sensitive placement details
- enforcing tenant/schema/admin authorization
Tests
Focused coverage lives at:
src/components/CustomerInstanceOps/CustomerInstanceOpsDashboard.test.tsx
src/services/customerInstanceOps.test.ts
The tests verify tenant schema display, app-database placement display, managed app database naming warnings, runtime RBAC display, billing state, hosted runtime state, GrayMatter/RBAC counts, JDBC alignment messaging, and explicit warnings when the runtime can read forbidden platform or sibling tables.